package com.yunji.aggregate.model.vo.base;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author : peter-zhu
 * @date : 2024/12/14 13:41
 * @description : TODO
 **/
@Data
public class StaffStatisticsVO implements Serializable {
    private static final long serialVersionUID = 4191905282575719292L;

    @Excel(name = "主键ID")
    @ApiModelProperty("主键ID")
    private Long id;

    @Excel(name = "员工编号", width = 15)
    @ApiModelProperty("员工编号")
    private String staffId;

    @Excel(name = "员工昵称/真实姓名", width = 15)
    @ApiModelProperty("员工昵称/真实姓名")
    private String staffName;

    @ApiModelProperty("员工密码")
    private String staffPwd;

    @Excel(name = "员工性别(0:男 1:女)", width = 15)
    @ApiModelProperty("员工性别(0:男 1:女)")
    private Integer sex;

    @Excel(name = "年龄", width = 15)
    @ApiModelProperty("年龄")
    private Integer age;

    @ApiModelProperty("密码盐")
    private String salt;

    @Excel(name = "员工电话", width = 15)
    @ApiModelProperty("员工电话")
    private String staffTel;

    @Excel(name = "员工状态:0删除(禁用,离职);1显示(启用,在职)", width = 15)
    @ApiModelProperty("员工状态:0删除(禁用,离职);1显示(启用,在职)")
    private Integer status;

    @Excel(name = "测试状态 0-未开启 1-开启")
    @ApiModelProperty("测试状态 0-未开启 1-开启")
    private Integer testStatus;

    @Excel(name = "余额", width = 15)
    @ApiModelProperty("余额")
    private String balance;

    @Excel(name = "分成类型(0:不分成;1:按交易金额;2:按交易笔数;)", width = 15)
    @ApiModelProperty("分成类型(0:不分成;1:按交易金额;2:按交易笔数;)")
    private Integer scaleType;

    @Excel(name = "分成比例/每笔金额", width = 15)
    @ApiModelProperty("分成比例/每笔金额")
    private BigDecimal scale;

    @ApiModelProperty("负责区域")
    private String manageRegion;

    @Excel(name = "代理商ID", width = 15)
    @ApiModelProperty("代理商ID")
    private Long agentId;

    @Excel(name = "代理商名称", width = 15)
    @ApiModelProperty("代理商名称")
    private String agentName;

    @Excel(name = "网点ID", width = 15)
    @ApiModelProperty("网点ID")
    private Long siteId;

    @Excel(name = "网点名称", width = 15)
    @ApiModelProperty("网点名称")
    private String siteName;

    @Excel(name = "累计收益", width = 15)
    @ApiModelProperty("累计收益")
    private BigDecimal earnAmount;

    @Excel(name = "提现金额", width = 15)
    @ApiModelProperty("提现金额")
    private BigDecimal cashAmount;

    @Excel(name = "账户余额", width = 15)
    @ApiModelProperty("账户余额")
    private BigDecimal remainAmount;

    @Excel(name = "冻结金额", width = 15)
    @ApiModelProperty("冻结金额")
    private BigDecimal frozenAmount;

    @Excel(name = "退款金额", width = 15)
    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount;

    @Excel(name = "补货次数", width = 15)
    @ApiModelProperty("补货次数")
    private Integer fillCargoCount;

    @Excel(name = "员工端openid", width = 15)
    @ApiModelProperty("员工端openid")
    private String openid;

    @Excel(name = "确定员工唯一标识", width = 15)
    @ApiModelProperty("确定员工唯一标识")
    private String unionid;

    @Excel(name = "删除状态(0:未删除;1:已删除;)", width = 15)
    @ApiModelProperty("删除状态(0:未删除;1:已删除;)")
    private Integer delFlag;

    // token 映射唯一ID
    private String token;

    @ApiModelProperty("代理商手机号")
    @Excel(name = "代理商手机号", width = 15)
    private String agentTel;

    @ApiModelProperty("平台分成比例（%）")
    private BigDecimal platformScale;

    @ApiModelProperty("代理商分成比例（%）")
    private BigDecimal agentScale;

    @ApiModelProperty("货柜上限")
    @Excel(name = "货柜上限", width = 15)
    private Integer containerLimit;

    @ApiModelProperty("合作方式 0-代理合作 1-自营")
    @Excel(name = "合作方式 0-代理合作 1-自营", width = 15)
    private Integer cooperateWay;

    @ApiModelProperty("省份代码")
    private String provinceCode;

    @ApiModelProperty("省份名称")
    @Excel(name = "省份名称", width = 15)
    private String provinceName;

    @ApiModelProperty("城市代码")
    private String cityCode;

    @ApiModelProperty("城市名称")
    @Excel(name = "城市名称", width = 15)
    private String cityName;

    @ApiModelProperty("区县代码")
    private String countyCode;

    @ApiModelProperty("区县名称")
    @Excel(name = "区县名称", width = 15)
    private String countyName;

    @ApiModelProperty("地区信息")
    @Excel(name = "地区信息", width = 15)
    private String region;

    @ApiModelProperty("出生时间")
    @Excel(name = "出生时间", width = 15)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthTime;

    @ApiModelProperty("详细地址")
    @Excel(name = "详细地址", width = 15)
    private String address;
}
